package cn.iocoder.yudao.module.ym.api.site;

import cn.hutool.core.bean.BeanUtil;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.module.infra.api.area.AreaApi;
import cn.iocoder.yudao.module.infra.api.area.dto.AreaDto;
import cn.iocoder.yudao.module.infra.api.site.SiteApi;
import cn.iocoder.yudao.module.infra.api.site.dto.SiteDto;
import cn.iocoder.yudao.module.ym.controller.admin.site.vo.SitePageReqVO;
import cn.iocoder.yudao.module.ym.controller.admin.site.vo.SiteRespVO;
import cn.iocoder.yudao.module.ym.service.area.AreaService;
import cn.iocoder.yudao.module.ym.service.site.SiteService;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * Admin 用户 API 实现类
 *
 * @author 芋道源码
 */
@Service
public class SiteApiImpl implements SiteApi {

    @Resource
    private SiteService siteService;

    @Override
    public String getNames(String ids) {
        return siteService.getNames(ids);
    }

    @Override
    public SiteDto getIdByName(String name) {
        return BeanUtil.toBean(siteService.getIdByName(name), SiteDto.class);
    }

    @Override
    public SiteDto getById(Long id) {
        return BeanUtil.toBean(siteService.getSite(id), SiteDto.class);
    }

    @Override
    public List<SiteDto> getList() {
        List<SiteRespVO> siteList = siteService.getSiteListAll(new SitePageReqVO());
        return BeanUtils.toBean(siteList, SiteDto.class);
    }
}
